import type { GetCodeData, GetCodePrams, PostLoginData, PostLoginParams, postLoginPasswordParams, PostUploadData } from "@/types/common";
import { request, service } from "@/utils/request";

/**
 * 登录--密码登录
 * @param data 手机号、密码
 * @returns 
 */

export const postLoginPasswordAPI = (data: postLoginPasswordParams)=>{
  return request<PostLoginData>('/login/password','POST',data)
}

/**
 * 获取手机验证码
 * @param params 手机号、验证码类型
 * @returns
 */
export const getCodeAPI = (params: GetCodePrams)=>{
  return request<GetCodeData>('/code','GET',params)
}

/**
 * 登录--手机验证码登录
 * @param data 手机号、验证码
 * @returns
 */
export const postLoginAPI = (data: PostLoginParams) => {
  return request<PostLoginData>('/login', 'POST', data)
}

// uni-app 上传文件注意点：
//  1. 在小程序管理后台添加 uploadFile 合法域名
//  2. 小程序端需要使用 uni.uploadFile() 方法上传

// 传统 FormData 写法不兼容多端 ?
// export const postUploadAPI = (data: FormData) => {
//   return request('/upload', 'POST', data)
// }

// 能兼容多端的上传写法 ?
export const postUploadAPI = (filePath: string) => {
  // 底层调用的是 uni.uploadFile() 兼容多端
  // return service.upload('/upload', {
  //   name: 'file', // 后端参数对应的 key
  //   filePath: filePath, // 要上传文件资源的路径
  // })

  // 添加后端返类型
  return request<PostUploadData>('/upload','UPLOAD',{},{
    name: 'file', // 后端参数对应的 key
    filePath, // 要上传文件资源的路径
  })
}
